Programming Rework in Software Processes
نویسندگان
چکیده
Our long-term research in process programming is based on the hypothesis that software processes can and should be captured accurately and formally, using executable formalisms to support execution, analysis, and understanding. Many process languages have been developed over the years for modeling processes formally. In this paper, we argue that for automated support, we need not a process modeling language, but a process programming language – a language with semantics sufficient to support the execution of process definitions. Specifically, we argue that invocation semantics are required for accurately describing real-world development processes. We use the common phenomenon of rework as an example of a process feature which requires invocation semantics for adequate specification. In this paper, we argue that rework can only be accurately described using invocation semantics borrowed from general purpose programming languages. We argue this in the general case and demonstrate a specific case via an example using Little-JIL, our hierarchical process programming language.
منابع مشابه
A Mathematical Programming Model and Genetic Algorithm for a Multi-Product Single Machine Scheduling Problem with Rework Processes
In this paper, a multi-product single machine scheduling problem with the possibility of producing defected jobs, is considered. We concern rework in the scheduling environment and propose a mixed-integer programming (MIP) model for the problem. Based on the philosophy of just-in-time production, minimization of the sum of earliness and tardiness costs is taken into account as the objective fu...
متن کاملFormalizing Rework in Software Processes
This paper indicates how effective software-process programming languages can lead to improved understandings of critical software processes, as well as improved process performance. In this paper we study the commonly mentioned, but seldom defined, rework process. We note that rework is generally understood to be a major software development activity, but note that it is poorly defined and und...
متن کاملMeasuring the Cost of Software Quality of a Large Software Project at Bombardier Transportation: A Case Study
In a competitive world, it is important to measure and improve the performance of software engineering processes and imperative to identify and eliminate rework that could have been avoided. The cost of software quality is one measure of the performance of software processes. It comprises the total cost associated with the prevention, appraisal, and correction of the anomalies in a product. A m...
متن کاملA Pattern for Modeling Rework in Software Development Processes
It is usual for work completed at one point in a software development process to be revisited, or reworked, at a later point. Such rework is informally understood, but if we hope to support reasoning about, and partial automation of, software development processes, rework be more formally understood. In our experience in designing formalized processes in software development and other domains, ...
متن کاملSoftware Defect Reduction Top 10 List
“Avoidable rework” is effort spent fixing difficulties with the software that could have been avoided or discovered earlier and less expensively. This definition implies that there is such thing as “unavoidable rework”. Reducing “avoidable rework” is a major source of software productivity improvement and most effort savings from improving software processes, architectures and risk management a...
متن کامل